Dynamic Sequence – Notification Delivery

End-to-end notification flow showing event generation, BFF forwarding, notification creation, storage, optional outbound delivery, and observability
USER
User / Recipient
Receives in-app notification and, when required, outbound delivery
EVT
Source Service
Workflow or business service emits a notification-triggering event
BFF
BFF / Orchestration
Coordinates UI-facing notification reads and protected backend trigger paths
NT
Notification Service
Generates content, decides channels, tracks status, and coordinates delivery
DDB
DocumentDB
Stores notification records, read state, target users, and delivery status
IB
Infobip
Handles optional outbound email / external notification dispatch
DD
Datadog / Audit
Tracks logs, metrics, traces, retries, and delivery outcomes
UI
React SPA / UI Result
Displays in-app notification state and user-visible delivery result
1. Business event occurs
Workflow or domain service triggers a notification event
2. Forward event context
Event context is passed through controlled backend path
3. Invoke notification service
BFF / service path invokes Notification Service
4. Generate notification
Notification service creates content, type, and target recipients
5. Decide channel
Service decides internal only or internal + outbound delivery
6. Store notification state
Notification service writes record and status to DocumentDB
7. Storage acknowledgement
DocumentDB confirms notification persistence
8. Optional outbound dispatch
Notification service sends outbound request to Infobip when needed
9. Delivery acknowledgement
Infobip returns delivery acknowledgement / status
10. Update delivery state
Notification service updates delivery state in DocumentDB
11. Emit logs & metrics
Event, retry, success, failure, and trace data are sent to Datadog / audit path
12. Expose notification to UI
Stored notification is made available through backend API to the frontend
13. Display to recipient
React UI shows in-app notification and recipient sees final delivery result
Notification lifecycle: A business event becomes a notification record first, then optionally an outbound message depending on channel rules.
Separated concerns: Internal notification state is stored in DocumentDB, while external message dispatch is handled through Infobip as a downstream delivery path.
Observable delivery: Success, failure, retry, and user-visible notification outcomes remain traceable through Datadog and backend audit signals.
Recipient / user Source event / UI result BFF orchestration Notification service logic Notification state storage Outbound delivery Observability / audit